#ifndef LECTEURCARACTERE_H_
#define LECTEURCARACTERE_H_

#include <fstream>
using namespace std;

/*! \file LecteurCaractere.h
    \brief La spécification de la classe LecteurCaractere
   
    Décrit la liste des méthodes et attributs associés au Lecteur de Caractères
    \author Fraisse A. & Froment J.
    \date 06/2012
 */

/*! \class LecteurCaractere
    \brief La classe représentant le lecteur de caractères.
   
 Ce lecteur de caractères est constitué des méthodes :
 *  \li getCarCour
 *  \li getLigne
 *  \li getColonne
 */

class LecteurCaractere {

  ////////////////////////////////////////////////////////////////////////////////
  public :
    LecteurCaractere(string nomFich); // construit le lecteur pour parcourir nomFich
    inline char         getCarCour() { return carCour; } // accesseur
    inline unsigned int getLigne()   { return ligne;   } // accesseur
    inline unsigned int getColonne() { return colonne; } // accesseur
    void suivant(); // passe au caractere suivant, s'il existe

  ////////////////////////////////////////////////////////////////////////////////
  private :
    ifstream f;           // le fichier texte que l'on parcourt
    char carCour;         // le caractere courant
    unsigned int ligne;   // numero de ligne du caractere courant
    unsigned int colonne; // numero de colonne du caractere courant
};

#endif /* LECTEURCARACTERE_H_ */
